<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="./vue.js"></script>
  </head>
  <body>
    <div id="app">
      <button @click="num++">{{num}}</button>
      <hr />
      <!-- 调用组件  相当于调用函数  给组件模板找个位置渲染 -->
      <my-btn></my-btn>
      <my-btn></my-btn>
      <my-btn></my-btn>
      <my-btn></my-btn>
    </div>
  </body>
  <script>
    let app = Vue.createApp({
      data() {
        return {
          num: 100,
        };
      },
      // 模板
      // template: `
      //   <button>{{num}}</button>
      // `,
    });
    // 组件也是vue实例  对比函数 理解组件
    // 注册组件 组件名 组件选项  可以在当前根实例下的所有vue实例模板中使用
    app.component("my-btn", {
      // 类似函数的局部变量
      // 自己的东西自己用
      data() {
        return {
          num: 100,
        };
      },
      // 组件模板  相当于函数的返回值
      template: `
        <button @click="num++">按钮组件{{num}}</button>
      `,
      watch: {},
      computed: {},
      methods: {},
      created() {},
    });
    app = app.mount("#app");
    // 前端如何实时获取后端获取
  </script>
</html>
